The present invention relates to the configuration of computer systems, and specifically to the configuration of computer system during start-up.
Prior to the advent of plug-and-play technology, adding add-on peripherals (add-on boards or add-on cards) to personal computers was often a burdensome task. Generally, a user desiring to add a peripheral to a personal computer (PC) would have to not only add the peripheral by opening the computer case, but would also have to modify the card itself. Modifications to add-on cards often consisted of setting dip switches, adding and/or moving jumpers, or otherwise setting switches on the card itself. The actual settings of these modifications was a function of several variables, such as the make of computer used, the configuration of other hardware in the system, and the software used in the system, including the operating system. As a result, the level of complexity involved with adding peripherals was often more than PC owners could handle. In order to simplify the task of adding peripherals, plug-and-play technologies were implemented.
Plug-and-play technology in the PC market largely automated the tasks of configuring peripheral boards. A plug-and-play peripheral board would be automatically detected by the computer during a start-up routine. The sequence for detection of add-on peripherals would generally consist of a start-up routine sending some signal to the plug-and-play device. In response, the plug-and-play device would send a unique identifier identifying itself. Upon receiving this information, the start-up routine would locate a batch file for initializing and configuring the plug-and-play compatible peripheral. During the stat-up routine, the peripheral receives the configuration information necessary from the batch program to be recognized by the operating system during normal operations.
While the advent of plug-and-play has greatly simplified the task of adding peripherals to personal computers, existing plug-and-play technology does not detect second level peripherals which reside on secondary busses (local busses) to the peripherals themselves. For example, a video/multimedia controller added to a system as plug-and-play device may in turn have a local bus, isolated from the system bus, capable of having one or more add-on peripherals of its own. Examples of such second level add-on peripherals would include TV tuners, user input devices, sound cards, or other peripherals. Upon installing the plug-and-play multimedia board, the computer would only have visibility to main board, not the peripherals located on the secondary, or local, busses. As a result, it is still necessary, even with plug-and-play devices, to manually intervene by manually editing configuration files or running programs during normal operation to allow the personal computer to properly recognize and utilize these secondary peripherals. Often this requires a re-boot of the system. One proposed solution for identifying secondary busses would require a unique command to be issued during startup requesting each identified peripheral to respond with any devices attached to its secondary busses. However, this proposed implementation will result in the need for a new start-up routine, and as of yet is not available to users or manufacturers.
Therefore, a method and apparatus for identifying secondary peripherals on add-on boards would be desirable.